home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / quintus / quintus0.lha / work / prover_2.06.2 < prev    next >
Text File  |  1992-04-03  |  25KB  |  527 lines

  1. %%%                   Clause-Linking Prover
  2. %%%                         (CLIN 2)
  3. %%%
  4. %%%            DAVID A. PLAISTED, SHIE-JUE LEE, and
  5. %%%                   GEOFFREY D. ALEXANDER
  6. %%%               Department of Computer Science
  7. %%%                University of North Carolina
  8. %%%                Chapel Hill, NC 27599--3175
  9. %%%                 (919) 962-{1751|1934|1983}
  10. %%%             {plaisted|lee|alexande}@cs.unc.edu
  11. %%% (c) 1991 by Geoff Alexander, Shie-Jue Lee, and David Plaisted
  12. %%%
  13. %%% version 2.00.0 (based on CLIN version 19.4)
  14. %%%   added equality transformation
  15. %%% version 2.00.1
  16. %%%   added equality rewriting
  17. %%% version 2.00.2
  18. %%%   fixed rewriting of eqaulity literals
  19. %%% version 2.00.3
  20. %%%   changed "equality_rewriting" to "auto_orient"
  21. %%%   added "outrwr", "outrwt", "outtreq", and "pullout-constants"
  22. %%% version 2.00.4 
  23. %%%   fixed priority of rewritten term
  24. %%%   fixed input clause count when transforming equation
  25. %%% version 2.00.5
  26. %%%   added recurive path ordering
  27. %%%   optimized equality transform
  28. %%%   saved rewrite rules across sessions
  29. %%% version 2.00.6
  30. %%%   added user specified rewrite rules and orderings
  31. %%%   added "include_original_clause"
  32. %%%   changed default of "simple_small_proof_check" from clear to set
  33. %%% version 2.00.7
  34. %%%   moved term rewriting to hypermatching
  35. %%% version 2.00.8
  36. %%%   added lexicographic path ordering
  37. %%% version 2.00.9
  38. %%%   added bound on term rewriting
  39. %%%   fixed bug in var_eq
  40. %%%   moved ground from rewrite to library
  41. %%%   moved unground from rewrite to library
  42. %%%   simplified rewriting of equations
  43. %%%   optimized var_eq
  44. %%%   optimized assert_rewrite_rule
  45. %%%   optimized generate_eq_rewrite_rules
  46. %%% version 2.01.0
  47. %%%   checked clause priority after each hyper-link
  48. %%%   rewrote clauses in all round 0s instead of just session 1 round 0
  49. %%%   fixed bug in rewrite_clauses which asserted duplicate clauses
  50. %%% version 2.01.1
  51. %%%   modified rewrite_lit so that only arguments of s in not s=t are rewritten
  52. %%%   fixed transivity bug when asserting rewrite order
  53. %%% version 2.01.2
  54. %%%   added code to rewrite rewrite rule
  55. %%%   fixed bug in delete_rewrite_rule which sometimes deleted the wrong rule
  56. %%% version 2.01.3
  57. %%%   moved generation of rewrite rules to hyper-linking
  58. %%%   moved rewriting of input clauses to interpret
  59. %%%   moved print_eq_trans to eq_trans
  60. %%%   fixed bug when rewriting hyper-links from a unit nucleus
  61. %%%   modified term_order_lpo and term_order_rpo so that order can instantiated
  62. %%%     when calling; that is, let term_order be a test
  63. %%%   modified code which orients equations so that an equation s=t is oriented
  64. %%%     only when the rewrite rule t->s is generated
  65. %%% version 2.01.4
  66. %%%   modified rewriting of equations according to David Plaisted's method
  67. %%%   modified assert_rewrite_rule so that it does not assert a rewrite rule
  68. %%%     if it is an instance of an existing rewrite rule
  69. %%%   fixed method of rewriting rewrite rules so that deleted rewrites rules
  70. %%%     aren't generated again
  71. %%% version 2.01.5
  72. %%%   added code to rewrite asserted clauses
  73. %%%   fixed bug in rewrite_asserted_clauses which caused rewritten clause to
  74. %%%     have clause size and number of non-grounded literals swapped
  75. %%%   fixed bug in rewrite_asserted_clauses which caused duplicate clauses to
  76. %%%     be asserted
  77. %%% version 2.01.6
  78. %%%   sorted electrons by term size
  79. %%%   fixed bug in literal_size which caused not to be counted
  80. %%% version 2.01.7
  81. %%%   oriented input equations literal in each direction
  82. %%% version 2.01.8
  83. %%%   modified rewriting of equations so that equations are fully rewritten
  84. %%%   added transformed form of all non-input equations before hyper-linking
  85. %%%   removed use of semi_internal_form from rewrite_asserted_clauses
  86. %%%   recomputed variable list when rewriting hyper-link
  87. %%%   fixed bug in duplicate_clause_C
  88. %%% version 2.01.9
  89. %%%   optimized term rewriting
  90. %%% version 2.02.0
  91. %%%   made the support and distance for pulled out equations the same as input
  92. %%% version 2.02.1
  93. %%%   added partial hyper-links to priority structure
  94. %%%   asserted over_priohm if priority exceeded during rewriting or
  95. %%%     hyper-linking
  96. %%%   fixed bug which counted hyper-links rejected after rewriting as good
  97. %%%   added partial rewrite count
  98. %%%   fixed bug in rewrite_asserted_clauses which caused simplified clauses to
  99. %%%     be printed twice
  100. %%% version 2.02.2
  101. %%%   asserted pulled out equations at beginning of session
  102. %%%   deleted pulled out form when rewriting asserted clause
  103. %%% version 2.02.3
  104. %%%   deleted pulled out form of clauses whose priority is too large
  105. %%% version 2.02.4
  106. %%%   fixed bugs when updating priority structure with partial hyper-link
  107. %%% version 2.02.5
  108. %%%   asserted equations along with pulled out forms at beginning of session
  109. %%%   asserted pulled out forms of equations at the beginning of each round
  110. %%%   fixed bug when updating priority structure with partial hyper-link
  111. %%% version 2.02.6
  112. %%%   optimized lpo_order and rop_order by treating indentical terms as
  113. %%%     equivalent
  114. %%% version 2.02.7
  115. %%%   modified code so clauses corresponding to rewrite rules are not deleted
  116. %%%   asserted equations corresponding to rewrite rules after simplifying
  117. %%%     rewrite rules
  118. %%% version 2.02.8
  119. %%%   deleted rewrite rules when the priority of the lhs exceeds the priority
  120. %%%     bound
  121. %%% version 2.02.9
  122. %%%   performed time overflow check after rejecting hyper-link due to priority
  123. %%% version 2.03.0
  124. %%%   moved rewrite rule simplification to hyper-linking
  125. %%%   asserted equations for rewrite rules during round 0 (except for session
  126. %%%     1 round 0) in addtion to other rounds
  127. %%%   performed time overflow check after rejecting hyper-link due to relevance
  128. %%%   counted hyper-links rejected due to relevance as rejected
  129. %%%   set user support flag correctly when asserting equations corresponding to
  130. %%%     rewrite rules
  131. %%%   fixed bug in lexicographical path ordering
  132. %%% version 2.03.1
  133. %%%   added early unit subsumption by X=X test
  134. %%% version 2.03.2
  135. %%%   modified rewriting of equations so that equations are fully rewritten
  136. %%% version 2.03.3
  137. %%%   strengthened early unit subsumption test so that partial hyper-links
  138. %%%     having all linked negative equations linked with X=X are tested
  139. %%%     using restricted rewrite
  140. %%%   fixed bug in the determination of linked and unlinked literals in partial
  141. %%%     hyper-links
  142. %%%   removed unit nucleus optimization from proc_C as modification for
  143. %%%     rewriting is more costly than normal processing
  144. %%%   removed unit nucleus optimization from calculate_new_size,
  145. %%%     calculate_priority_HM, make_varstail as it doesn't work with rewriting
  146. %%%   removed ground hyper-link optimization from calculate_new_size and
  147. %%%     calculate_priority_HM as it doesn't work with rewriting
  148. %%% version 2.03.4
  149. %%%   incorporated changes made to clin V1 between 7/31/90 and 10/18/90 which
  150. %%%     are visible externally -- changes to comments, predicate names, and
  151. %%%     variable names are not incorporated
  152. %%%   made "outrwr", "outrwt", and "outtreq" default to clear
  153. %%%   printed deleting rewrite rule message only when outrwr set
  154. %%%   modified deleting rewrite rule message
  155. %%%   printed axioms
  156. %%%   modified rewrite_clause, rewrite_clause_np, rewrite_lit, rewrite_term,
  157. %%%     and rewrite_term_args_only so that they return immediately if there are
  158. %%%     no rewrite rules
  159. %%%   performed early unit subsumption test only when "equality_transform"
  160. %%% version 2.03.5
  161. %%%   assert equations for rewrite rules only if there are rewrite rules
  162. %%%   removed counters
  163. %%%   restored unit nucleus and ground nucleus optimizations to
  164. %%%     calculate_new_size, calculate_priority_HM, make_varstail, and
  165. %%%     proc_C when no rewrite rules
  166. %%% version 2.03.6
  167. %%%   increased number of variables allowed in clauses from 20 to 100
  168. %%%   no longer include input equations in both directions
  169. %%%   don't recalculate variable list after rewriting hyper-link as variable
  170. %%%     list is for nucleus
  171. %%% version 2.03.7
  172. %%%   optimized order_term by saving order of subterms
  173. %%% version 2.03.8
  174. %%%   don't rewrite clauses if proof found during hyper-linking
  175. %%%   rewrite clauses in round 0 when necessary
  176. %%% version 2.03.9
  177. %%%   don't update priority structure in early priority test
  178. %%% version 2.04.0
  179. %%%   performed unit deletion in early priority test
  180. %%%   logically erased nuclei while hyper-linking
  181. %%%   don't try to delete pulled out forms unless equality_transform set
  182. %%%   changed spc time bound factor from 2 to 3
  183. %%%   fixed bug with "outhllits"
  184. %%%   saved input clauses between sessions same as clin 1
  185. %%% version 2.04.1
  186. %%%   determined maximum number of non-ground literals in a clause each round
  187. %%%     (required for equality transform)
  188. %%% version 2.04.2
  189. %%%   modified rewriting of equations so that the corresponding rewrite rule
  190. %%%     is not used
  191. %%%   modified transform_equations_session and transform_equation_round include
  192. %%%     pulled out forms forms for input equations
  193. %%% version 2.04.3
  194. %%%   when pulling out equations, ordered pulled out form so that pulled out
  195. %%%     literals for the smaller side with respect to path order come first
  196. %%%   added reverse/2
  197. %%%   changed pullout_constants default value to clear
  198. %%%   no longer need to recompute largest clause length when doing replacement
  199. %%%   erased corresponding equation and pulled out form when simplifying 
  200. %%%     rewrite rule
  201. %%%   fixed rmrwr_prio so it erased all rewrite rules whose lhs was larger
  202. %%%     than the priority bound
  203. %%%   fixed bug in logically_erase_clause_C
  204. %%%   rewrote clause during replacement
  205. %%%   rewrote clauses after replacement (as well as before)
  206. %%%   removed transitivity axiom
  207. %%%   updated priority structure when early priority test succeeds
  208. %%% version 2.04.4
  209. %%%   no longer pull out equations at the beginning of rounds
  210. %%%   used restrictive method for rewriting equations
  211. %%%   erased equation associated with rewrite rule only if equation's priority
  212. %%%     exceeded priority bound
  213. %%%   restored transitivity axiom
  214. %%%   rewrote s fully before attempting to assert a rewrite rule for s=t
  215. %%%   when replacing and rewriting, perform replacement/rewrite repeatedly
  216. %%%     until no change
  217. %%%   modified rewriting of s=t with s>t to handle case where rewriting s once
  218. %%%     at outer level generates a term smaller than the normal form of t
  219. %%% version 2.04.5
  220. %%%   added restricted_rewrite to control whether restricted or unrestricted
  221. %%%     rewriting of equations is used
  222. %%%   added equality_transform_by_round flag
  223. %%%   added safe_early_priority_test flag
  224. %%%   added early_unit_subsumption flag
  225. %%%   added early tautology test
  226. %%%   fixed rewrite_asserted_clauses so it erases pulled out forms of rewritten
  227. %%%     clauses
  228. %%%   fixed rewrite_asserted_clauses so it pulls out rewritten input clauses
  229. %%%   fixed rewrite_asserted_clauses so it pulls out rewritten input clauses
  230. %%%   removed rewriting from hyper-linking
  231. %%%   removed the generation of rewrite rules from hyper-linking
  232. %%%   added duplicate_clauses
  233. %%%   don't include original equations in both directions
  234. %%%   added small_proof_nucleus_bound
  235. %%%   corrected setting of paramters with infinity default
  236. %%%   when pulling out equations, ordered pulled out form so that pulled out
  237. %%%     literals for the larger side with respect to path order come first
  238. %%% version 2.04.6
  239. %%%   added fixed_priority
  240. %%%   removed unnecessary checks for rewrite rules now that rewriting is no
  241. %%%     longer done in hyper-linking
  242. %%%   removed rewriting from replacement
  243. %%%   added start_priority_bound
  244. %%%   added min_list
  245. %%%   added get_list
  246. %%%   fixed bug in code which determines if another round of hyper-linking is
  247. %%%     required
  248. %%% version 2.04.7
  249. %%%   when rewriting asserted clauses generate rewrite rules for equation in
  250. %%%     normal form
  251. %%%   rewrote asserted clauses after unit simplification
  252. %%%   moved code to erase clause corresponding to rewrite rule from
  253. %%%     erase_rewrite_rule to rmrwr_prio
  254. %%%   modified logically_erase_clause_C_prio so that it only erases non-input
  255. %%%     clauses
  256. %%%   modified erase_clause_HM_prio so that it only erases non-input clauses
  257. %%%   modified erase_clause_T_prio so that it only erases non-input clauses
  258. %%% version 2.04.8
  259. %%%   added group_detection
  260. %%%   added get_subterms
  261. %%%   improved efficiency of transform_equations_round
  262. %%%   added duplciate_repeated_replace_rule
  263. %%%   fixed bug in rewrite_outer which prevented priority test from being done
  264. %%%   fixed bug in early priority test which updated priority for partial
  265. %%%     instances which passed test instead of those which failed
  266. %%%   rewrote partial instance before early tautology test and early priority
  267. %%%     test
  268. %%% version 2.04.9
  269. %%%   don't assert a rewrite rule if its lhs or rhs has a priority greater
  270. %%%     than the priority bound
  271. %%%   don't assert a clause whose priority is larger than the priority bound
  272. %%%   sorted clauses by priority before rewriting
  273. %%% version 2.05.0
  274. %%%   don't select a support strategy unless there is a new clause or an
  275. %%%     existing clause has modified the appropriate support
  276. %%%   improved the efficiency of the unit deletion in early priority test
  277. %%%   checked for duplicate partial instances
  278. %%%   rejected a partial instance which is an instance of a previous partial
  279. %%%     instance only when delete_all_instances is set
  280. %%%   ordered early tests as early priority test, early tautology test,
  281. %%%     duplicate partial instance test, and early unit subsumption
  282. %%%   deleted a rewrite rule if its rhs priority is larger than the priority
  283. %%%     bound
  284. %%%   deleted a partial instance if its priority is larger than the priority
  285. %%%     bound
  286. %%%   rewrote literal before linking it
  287. %%%   erased partial instances for each nucleus
  288. %%% version 2.05.1
  289. %%%   added clause splitting
  290. %%%   fixed transform_equations_round so that it works when neither
  291. %%%     fixed_priority nor slidepriority is specified
  292. %%%   added gensym
  293. %%%   added common_variables
  294. %%%   fixed assert_group_axiom so that it works when neither fixed_priority
  295. %%%     nor slidepriority is specified
  296. %%%   split horn clauses into horn clauses
  297. %%% version 2.05.2
  298. %%%   modified the top level structure of clin
  299. %%%   added clause splitting to top_level_replacement
  300. %%%   added clause splitting to transform_equations_round
  301. %%%   don't rewrite clauses in group dection
  302. %%%   fixed assert_rewrite_rule_equations so that it works when neither
  303. %%%     fixed_priority nor slidepriority is specified
  304. %%%   fixed bug in assert_group_properties
  305. %%% version 2.05.3
  306. %%%   added support for Quintus Prolog
  307. %%%   removed print_clause_list as it is also defined in auxiliary
  308. %%%   fixed bug which caused loop when proof found in simplification
  309. %%%   fixed bug when updating priority structure after early priority failure
  310. %%%   modified rmhm_prio to delete equations corresponding to rewrite rules
  311. %%%     if their priority exceeds priority bound
  312. %%%   modified rmhm_prio not to delete pulled out forms when deleting a clause
  313. %%%   modified update_priority_structure to delete partial instances whose
  314. %%%     priority exceeds the priority bound
  315. %%%   added error check to update_priority_bound
  316. %%%   updated priority structure with priority from partial instances not
  317. %%%     rejected by early priority test
  318. %%%   don't erase rewrite rules corresponding to input equations
  319. %%%   fixed clause rewriting to run when auto_orient and no rewrite rules
  320. %%%   don't perform early tests on unlinked partial instances
  321. %%%   performed early unit subsumption test in get_hm_nucleus
  322. %%%   performed partial instance check in get_hm_nucleus
  323. %%%   no longer erased partial instances for each nucleus
  324. %%%   replaced integer_name with name
  325. %%%   made replacement work with fixed_priority
  326. %%%   modified clin structure so that clause rewriting done before main
  327. %%%     repeat loop and after simplification
  328. %%%   fixed inst_del so it actually deletes instances
  329. %%%   checked unit clauses in instance deletion when rewriting or replacement
  330. %%%   assumed no instance when UR strategy, not rewriting, and no replacement
  331. %%%   don't check for the following when delete_all_instances:
  332. %%%    2. if C is user supported, then D is user supported
  333. %%%    3. if C is backward supported, then D is backward supported.
  334. %%%   fixed electron instance check so it doesn't erase and assert lit_G while
  335. %%%     backtracking over lit_G
  336. %%% version 2.05.4
  337. %%%   added banner to Qunitus version
  338. %%%   fixed bug which prevented clause_splitting option from being printed
  339. %%%   saved split clauses as sent_c
  340. %%%   don't erase or assert pulled out forms when rewriting clauses
  341. %%%   don't assert duplicate input clauses including pulled out forms
  342. %%%   rewrite rewrites rules after asserting group rewrite rule
  343. %%%   erase rewrite rules corresponding to input equations
  344. %%%   when rewriting clauses, erase old clause before checking priority of new
  345. %%%     clause
  346. %%%   when rewriting clauses, don't reject new clause if priority bound not set
  347. %%% version 2.05.5
  348. %%%   added equational rewriting
  349. %%%   don't erases clause when erasing large rewrite rules
  350. %%%   modified clin structure so generation of equations from rewrite rules
  351. %%%     done before main repeat loop after clause rewriting
  352. %%%   rewrite group axioms before asserting
  353. %%%   fixed a couple of bugs which prevented equational rewriting from working
  354. %%%   fixed bug which caused clauses to be asserted with uninstantiated size
  355. %%%   fixed bug which prevented "satisfiable" result
  356. %%%   don't check priority when input clause rewritten
  357. %%%   fixed bug when rewriting input clause
  358. %%% version 2.05.6
  359. %%%   changed early unit subsumption to equality early unit subsumption
  360. %%%   added new early unit subsumption
  361. %%%   modified round 0 action
  362. %%%   don't repeat clause generation unless more than 1 clause generation
  363. %%%     modules requested
  364. %%%   moved instance deletion into clause generation loop
  365. %%%   added print after clause generation
  366. %%% version 2.05.7
  367. %%%   ehanced equality early unit subsumption test
  368. %%%   don't hyper-link unit nuclei
  369. %%%   terminated clause generation loop if proof found in replacemet
  370. %%%   fixed minor equational rewrite bug in rewrite_lit_6
  371. %%% version 2.05.8
  372. %%%   improved the efficiency of order_term_lpo
  373. %%%   removed append/3
  374. %%%   renamed assign/2 to assign_cmd/2 for compatibility with Quintus Prolog 3
  375. %%%   added quintus_compile_options
  376. %%%   added write_line/5
  377. %%%   don't assert equational rewrite rule if rhs contains variable not
  378. %%%     contained in lhs
  379. %%%   added priority_bound_increment
  380. %%% version 2.05.9
  381. %%%   fixed bug in lpo term ordering
  382. %%%   added Quintus Prolog 3.1 support
  383. %%%   added implementation improvement to lpo term ordering
  384. %%%   fixed bug in rewrite_lit
  385. %%%   fixed bug in rewrite_grounded_term_list
  386. %%% version 2.06.0
  387. %%%   fixed print_rewrite so that the used a consistent naming of variables for
  388. %%%     the original and new clause
  389. %%%   added is_subterm/2
  390. %%%   added identical_subset/2
  391. %%%   added identical_set_difference/3
  392. %%%   added substitute_term/4
  393. %%%   added identical_embedded/2
  394. %%%   fixed bug in rewrite_outer_equational
  395. %%%   added identical_set/2
  396. %%%   apply once_replace_rules only once per round
  397. %%%   added instance_clause_C/2
  398. %%%   made delete_all/3 and identical_delete_all/3 deterministic
  399. %%%   added cprolog support
  400. %%%   rewrite rewrite rules only once during group detection
  401. %%%   added garbage collect/0 for als and cprolog
  402. %%%   fixed assert rewrite rule to print equational rules in both directions
  403. %%%   added bug fixes from Shie-Jue
  404. %%%   fixed bug in restricted rewriting
  405. %%%   added write_line/6
  406. %%%   added clause_generation_loop flag
  407. %%%   added check_unit_conflict_C/1
  408. %%%   added check_unit_conflict_HM/1
  409. %%%   added early check for unit conflict
  410. %%%   modified session 1 round 0 processing
  411. %%%   added save_rewrite_rules
  412. %%% version 2.06.1
  413. %%%   added constrained rewriting
  414. %%%   don't print fully rewritten equations and inequation under restricted
  415. %%%     rewriting
  416. %%%   added substitute_term_all/4
  417. %%%   added permutations/2
  418. %%%   added append_lists/2
  419. %%%   added tail/2
  420. %%%   added save_unrestricted_normal_form
  421. %%%   added retract_all/1
  422. %%%   added early unit conflict check to rewrite_rewrite_rules
  423. %%%   fixed bug in check_unit_conflict_C/1 and check_unit_conflict_HM/1
  424. %%%   fixed bug in hm_literal which sometimes erronously failed to link
  425. %%%   rewrite group rewrite rule before asserting
  426. %%%   fully sort nuclei before hyper-linking
  427. %%%   rewrite replace rules
  428. %%%   added duplicate_once_replace_rule/2
  429. %%% version 2.06.2
  430. %%%   fixed Quintus Prolog existence error in duplicate deletion
  431. %%%   fixed duplicate setting of inifinity defaults
  432. %%%   run clause generation loop in session 1 round 0
  433. %%%   added fast_priority_update
  434. %%%   added duplicate_partial_instance_test
  435. %%%   added precompute_constraints
  436. %%%   modified rewrite_lit_with_constraints so that restricted rewriting
  437. %%%     doesn't depend on constraints
  438. %%%   fixed Quintus Prolog existence error in instance deletion
  439. %%%   fixed Quintus Prolog existence error in small proof checker
  440. %%%   added restricted_equality_transform
  441. %%%   modified priority test for non-constrained clause rewriting to check
  442. %%%     priority of rewritten clause rather than rhs of the rewrite rule
  443. %%%   cached lexicographical path ordering
  444. %%%   added index and size bound to cached_rewrite
  445. %%%   added ground_like/4
  446. %%%   added size bound to cached_constraint_consistent
  447. %%%   added size bound to cached_constrained_term_order and
  448. %%%     cached_constrained_term_order_complete
  449. %%%   don't add to constraint when constraint precomputed
  450. %%%   cached constrained subterm rewrites
  451. %%%   added term_size_structure/2
  452. %%%   added enumerate/4
  453. %%%   removed rpo code as it isn't supported (or used)
  454. %%%   added cache_size
  455. %%%   modified rewrite_rule_ref/2 to work with linearized rwr
  456. %%%   fixed assert_rewrite_rules_equations/0 to assert equations for equational
  457. %%%     rewrite rules
  458. %%%   fixed assert_group_axiom/1 to work when priority_bound is not set
  459. %%%   added additional time overflow tests
  460. %%%   updated equality axioms
  461. %%%   check for unit conflict in hyper when sliding priority not specified
  462. %%%   changed restricted_equality_transform default to 0
  463. %%%   added time bound for simple small proof checking
  464. %%%   terminated small proof check if time limit exceeded
  465. %%%
  466.  
  467. %%%%%%%%%%%%%%%%%%%%%%%%%%
  468. %%% ALS-Prolog Version %%%
  469. %%%%%%%%%%%%%%%%%%%%%%%%%%
  470. %    :- [-'/unc/alexande/research/clin/als_2.06.0'].
  471.  
  472. %%%%%%%%%%%%%%%%%%%%%%%
  473. %%% CProlog Version %%%
  474. %%%%%%%%%%%%%%%%%%%%%%%
  475. %    :- [-'/unc/alexande/research/clin/cprolog_2.06.0'].
  476.  
  477. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  478. %%% Quintus Prolog Version %%%
  479. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  480.     :- compile('/unc/alexande/research/clin/quintus_2.05.8').
  481.     :- compile('/unc/alexande/research/clin/quintus_compile_options_2.05.8').
  482.  
  483. %%%%%%%%%%%%%%%%%%%
  484. %%% Common code %%%
  485. %%%%%%%%%%%%%%%%%%%
  486.  
  487. %%% Load files.
  488.     :- load_file('/unc/alexande/research/clin/auxiliary_2.06.2').
  489.     :- load_file('/unc/alexande/research/clin/clausify_18.7').
  490.     :- load_file('/unc/alexande/research/clin/command_2.06.2').
  491.     :- load_file('/unc/alexande/research/clin/csplit_2.05.4').
  492.     :- load_file('/unc/alexande/research/clin/exprules_18.4').
  493.     :- load_file('/unc/alexande/research/clin/fms_2.06.0').
  494.     :- load_file('/unc/alexande/research/clin/group_2.06.2').
  495.     :- load_file('/unc/alexande/research/clin/hyper_2.06.2').
  496.     :- load_file('/unc/alexande/research/clin/instdel_2.06.2').
  497.     :- load_file('/unc/alexande/research/clin/interp_2.06.0').
  498.     :- load_file('/unc/alexande/research/clin/library_2.06.2').
  499.     :- load_file('/unc/alexande/research/clin/main_2.06.2').
  500.     :- load_file('/unc/alexande/research/clin/pc_2.05.3').
  501.     :- load_file('/unc/alexande/research/clin/replace_2.06.0').
  502.     :- load_file('/unc/alexande/research/clin/rewrite_2.06.2').
  503.     :- load_file('/unc/alexande/research/clin/simplify_2.06.2').
  504.     :- load_file('/unc/alexande/research/clin/spc_2.06.2').
  505.     :- load_file('/unc/alexande/research/clin/transform_2.06.2').
  506.     :- load_file('/unc/alexande/research/clin/try_2.06.2').
  507.     :- load_file('/unc/alexande/research/clin/xvisor_2.05.8').
  508.  
  509. %%% Initialization
  510.      :- initialization(abolish(clin_version,1)).
  511.      :- initialization(assert(clin_version('2.06.2'))).
  512.  
  513. %%% Welcome message.
  514.      :- initialization((clin_version(Version),
  515.     nl, tab(15),write('WELCOME TO CLIN '),
  516.     write(Version),nl,
  517.         write('(c) 1991 by Geoff Alexander, Shie-Jue Lee, and David Plaisted'),
  518.     nl,nl,nl)).
  519.      helpmsg :-
  520.     nl,write_line(2,'USER GUIDE : '),
  521.     write_line(2,'Key in "prove(File).".'),
  522.     write_line(2,'Key in "settings." to list all current settings.'),
  523.     write_line(2,'For more info., type "choice.".'),
  524.     write_line(2,'These info. can be reviewed by typing in "helpmsg.".'),
  525.     nl.
  526.      :- initialization(helpmsg).
  527.